package code.main
{
	import flash.display.Sprite;
	
	/**
	 * 应用程序容器 
	 * @author Yuri
	 */
	public class AppContainer extends Sprite
	{
		public function AppContainer()
		{
			super();
			this.mouseEnabled = false;
			
			_sceneLayer = new Sprite();
			addChild(_sceneLayer);
			
			_uiLayer = new Sprite();
			_uiLayer.mouseEnabled = false;
			addChild(_uiLayer);
			
			_panelLayer = new Sprite();
			_panelLayer.mouseEnabled = false;
			addChild(_panelLayer);
			
			_tipLayer = new Sprite();
			_tipLayer.mouseEnabled = false;
			addChild(_tipLayer);
			
			_popupLayer = new Sprite();
			_popupLayer.mouseEnabled = false;
			addChild(_popupLayer);
			
			_popupTipsLayer = new Sprite();
			_popupTipsLayer.mouseEnabled = false;
			addChild(_popupTipsLayer);
			
			_reserveLayer = new Sprite();
			addChild(_reserveLayer);
			
			_loadingLayer = new Sprite();
			addChild(_loadingLayer);
			
			_newHandLayer = new Sprite();
			addChild(_newHandLayer);
			
			_mouseLayer = new Sprite();
			_mouseLayer.mouseEnabled = false;
			_mouseLayer.mouseChildren = false;
			addChild(_mouseLayer);
			
			_newHandDropLayer = new Sprite();
			addChild(_newHandDropLayer);
			
			this.tabChildren = false;
			this.tabEnabled = false;
		}
		
		private var _sceneLayer:Sprite;//
		private var _uiLayer:Sprite;//
		private var _panelLayer:Sprite;//
		private var _tipLayer:Sprite;
		private var _popupLayer:Sprite;
		private var _popupTipsLayer:Sprite;
		private var _reserveLayer:Sprite;
		private var _loadingLayer:Sprite;
		private var _mouseLayer:Sprite;
		private var _newHandLayer:Sprite;
		private var _newHandDropLayer:Sprite;
		/**
		 * 场景UI面板层，程序面板层做为场景的一个补充，如需要一个特殊的基于UI的场景可使用_panelLayer
		 * scenePanelLayer应该盖住整个场景
		 */
		public function get sceneLayer():Sprite 
		{
			return _sceneLayer;
		}
		
		/**
		 * UI层，UI层一般为主界面及好友列表所在层
		 */
		public function get uiLayer():Sprite 
		{
			return _uiLayer;
		}
		
		/**
		 * 程序面板层,通常为地图
		 * panelLyaer应该盖住整个场景
		 */
		public function get panelLyaer():Sprite 
		{
			return _panelLayer;
		}
		
		
		/**
		 * tips层
		 */
		public function get tipLayer():Sprite
		{
			return _tipLayer;
		}
		
		/**
		 * 弹出框层
		 */
		public function get popupLayer():Sprite
		{
			return _popupLayer;
		}
		
		/**
		 * 弹出框TIPS层
		 */
		public function get popupTipsLayer():Sprite
		{
			return _popupTipsLayer;
		}
		
		/**
		 * 保留层
		 */
		public function get reserveLayer():Sprite
		{
			return _reserveLayer;
		}
		
		/**
		 * loading层
		 * 
		 */
		public function get loadingLayer():Sprite
		{
			return _loadingLayer;
		}
		
		/**
		 * 鼠标层，鼠标样式层
		 */
		public function get mouseLayer():Sprite
		{
			return _mouseLayer;
		}
		/**
		 *新手引导层 
		 * @return 
		 * 
		 */		
		public function get newHandLayer():Sprite
		{
			return _newHandLayer;
		}
		
		/**
		 *新手引导掉落物层 
		 * @return 
		 * 
		 */		
		public function get newHandDropLayer():Sprite
		{
			return _newHandDropLayer;
		}
	}
}